package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;

/**
 * 数组转集合
 * 数据的工具类java.util.Arrays提供一个静态方法:asList()
 * 该方法可以将一个数组转换为一个List集合
 */
public class                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ArrayToCollection {
    public static void main(String[] args) {
        String[] str = {"1","4","five","6"};
        System.out.println(Arrays.toString(str));
        //asList方法会返回Arrays定义的内部类ArrayList,该集合内部直接引用给定数组array
        List<String> c = Arrays.asList(str);
        System.out.println(c);
        //因为集合直接引用数组array,所以对该集合操作就是对array数组的操作
        c.set(0,"one");
        System.out.println(Arrays.toString(str));
        System.out.println(c);
        //添加元素相当于要对数组扩容,数组是定长的不可以真实的扩容,因此会抛出不支持该操作的异常.删除也是一样的
//        list.add("!!!!!");
         /*
            如果我们需要增删元素,可另行创建一个集合同时包含该集合元素即可.
         */
        List<String> newList = new ArrayList<>(c);
        newList.add("234");
        System.out.println(newList);

        Integer[] arr = {1,2,4};
        List<Integer> list = Arrays.asList(arr);
        System.out.println(list);

    }
}
